using System.ComponentModel;

namespace Monti.Docking
{
   public interface IDockItem : INotifyPropertyChanged, IDockGroupAware
   {
      /// <summary>
      /// Gets or Sets if the content is selected.
      /// </summary>
      bool IsSelected { get; set; }

      /// <summary>
      /// Gets or Sets if the content is the acitve content.
      /// </summary>
      bool IsActiveContent { get; set; }

      /// <summary>
      /// Gets or Sets if the content is enabled.
      /// </summary>
      bool IsEnabled { get; set; }

      /// <summary>
      /// Gets or Sets if the content can be closed or not.
      /// </summary>
      bool AllowClose { get; set; }

      /// <summary>
      /// Gets or Sets the title of the content.
      /// </summary>
      string Title { get; set; }

      /// <summary>
      /// Gets or Sets the tool tip text.
      /// </summary>
      string ToolTip { get; set; }

      /// <summary>
      /// Performs any closing operations.
      /// </summary>
      /// <returns>True if Ok to close, otherwise false.</returns>
      bool Closing ();
   }
}